package com.dd.cloud.user.service.resource;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dd.cloud.user.entity.resource.AdvertInfo;
import com.dd.cloud.user.req.resource.*;
import com.dd.cloud.user.res.resource.AdvertInfoSystemDetailRes;
import com.dd.cloud.user.res.resource.AdvertInfoSystemPageRes;

/**
 * @author Lx
 * @version 1.0
 * @date 2024/1/29
 */
public interface IAdvertInfoService extends IService<AdvertInfo> {
    /**
     * 查询广告弹框列表
     *
     * @param req
     * @return
     */
    IPage<AdvertInfoSystemPageRes> queryAdvertInfoSystemPage(AdvertInfoSystemPageReq req);

    /**
     * 创建广告弹框
     *
     * @param req
     */
    void createAdvertInfoSystem(AdvertInfoSystemCreateReq req);

    /**
     * 修改广告弹框
     *
     * @param req
     */
    void updateAdvertInfoSystemUpdate(AdvertInfoSystemUpdateReq req);

    /**
     * 修改广告弹框状态
     *
     * @param req
     */
    void updateAdvertInfoSystemUpdateStatus(AdvertInfoSystemUpdateStatusReq req);

    /**
     * 查询广告弹框详情
     *
     * @param id
     * @return
     */
    AdvertInfoSystemDetailRes queryAdvertInfoSystemDetail(Integer id);

    /**
     * 查询广告弹框
     *
     * @param req
     * @return
     */
    Page<AdvertInfo> queryDoctorAdvertPage(AdvertInfoReq req);

    /**
     * 定时任务修改广告状态
     */
    void taskUpdateStatus();
}
